package com.xd.core.business.service;

import com.xd.core.business.dto.CreditContractDto;
import com.xd.core.business.dto.CreditDto;
import com.xd.core.business.dto.CreditInsuranceDto;
import com.xd.core.business.dto.InsuranceDto;
import com.xd.core.business.entity.Credit;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xd.core.business.vo.IncomingInfoInsuranceVo;
import com.xd.core.debt.dto.Review;
import com.xd.core.h5.vo.AdvanceRepaymentDetail;
import com.xd.core.h5.vo.CarInsuranceDetail;

/**
 * <p>
 * 授信表 服务类
 * </p>
 *
 * @author ZX
 * @since 2025-02-23
 */
public interface ICreditService extends IService<Credit> {

    void updateCredit(CreditDto creditDto);

    void insertContracts(Integer incomingId);

    void updateCreditFail(CreditDto creditDto);

    void updateCreditAccount(CreditContractDto creditContractDto);

    void updateInsuranceCredit(CreditInsuranceDto creditDto);

    CarInsuranceDetail goContract(Integer incomingId);

    Integer goContractInsurance(Integer incomingId,String payPass);

    AdvanceRepaymentDetail advancePaymentInsurance(Integer incomingId);

    IncomingInfoInsuranceVo authorizationApplication(Integer incomingId);

    void updateInsuranceStatus(Review review);

    CreditInsuranceDto getInsuranceIncomingAndCredit(Integer incomingId);
}
